{
GtkListBasePrivate *priv = gtk_list_base_get_instance_private (self);
GtkListItemManagerItem *item;
+ gboolean success;
item = gtk_list_item_manager_get_nth (priv->item_manager, pos, NULL);
if (item == NULL)
item = gtk_list_item_manager_get_nth (priv->item_manager, pos, NULL);
g_assert (item->widget);
- if (!gtk_widget_grab_focus (item->widget))
- return FALSE;
+ success = gtk_widget_grab_focus (item->widget);
gtk_list_item_tracker_free (priv->item_manager, tracker);
}
else
{
- if (!gtk_widget_grab_focus (item->widget))
- return FALSE;
+ success = gtk_widget_grab_focus (item->widget);
}
+ if (!success)
+ return FALSE;
+
if (select)
gtk_list_base_select_item (self, pos, modify, extend);